package base;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;


public class Auto {
    conectate con;
  
  public Auto (){
    con = new conectate();
  } 
  
  /*Añade un nuevo registro*/
   public void NuevoAuto(String patente, String folio, String rut, String id_modelo){
       try {            
            PreparedStatement pstm = con.getConnection().prepareStatement("insert into " + 
                    "tbl_auto(Patente, Folio, Rut_Cliente, Id_Modelo) " +
                    " values(?,?,?,?)");            
            pstm.setString(1, patente);
            pstm.setString(2, folio);
            pstm.setString(3, rut);                        
            pstm.setString(4, id_modelo);                        
            pstm.execute();
            pstm.close();            
         }catch(SQLException e){
         System.out.println(e);
      }
   }

     public void updateAuto(String patente, String folio, String rut, String id_modelo){
       try {            
            PreparedStatement pstm = con.getConnection().prepareStatement("update tbl_auto " +
            "set Patente = ? ," +
            "Folio = ? ," +
            "Rut_Cliente = ? ," +                    
            "where id_modelo = ? ");            
            pstm.setString(1, patente);
            pstm.setString(2, folio);
            pstm.setString(3, rut);
            pstm.setString(4, String.valueOf(id_modelo));
            pstm.execute();
            pstm.close();            
         }catch(SQLException e){
         System.out.println(e);
      }
   }
   
   public void deleteAuto(String cod){  
            try {                
                PreparedStatement pstm = con.getConnection().prepareStatement("delete from tbl_auto where Id_Modelo = ?");            
                pstm.setString(1, cod);                   
                pstm.execute();
                pstm.close();            
            }catch(SQLException e){
            System.out.println(e);
            }            
   }


    
 /*obtenemos todos los datos de la tabla*/
 public Object [][] getDatos(){
      int registros = 0;
      //obtenemos la cantidad de registros existentes en la tabla
      try{         
         PreparedStatement pstm = con.getConnection().prepareStatement("SELECT count(1) as total FROM tbl_auto ");
         ResultSet res = pstm.executeQuery();
         res.next();
         registros = res.getInt("total");
         res.close();
      }catch(SQLException e){
         System.out.println(e);
      }
      
    Object[][] data = new String[registros][5];  
    //realizamos la consulta sql y llenamos los datos en "Object"
      try{    
         PreparedStatement pstm = con.getConnection().prepareStatement("SELECT " +
            " Patente, Folio, Rut_Cliente, Id_Modelo " +
            " FROM tbl_auto" +
            " ORDER BY Id_Modelo ");
         ResultSet res = pstm.executeQuery();
         int i = 0;
         while(res.next()){
            String estpatente = res.getString("Patente");
            String estfolio = res.getString("Folio");
            String estrut = res.getString("Rut_Cliente");
            String estid_modelo = res.getString("Id_Modelo");
            data[i][0] = estpatente;            
            data[i][1] = estfolio;            
            data[i][2] = estrut;            
            data[i][3] = estid_modelo;                        
            i++;
         }
         res.close();
          }catch(SQLException e){
         System.out.println(e);
    }
    return data;
 }    
}
